package com.sunseagear.common.base.satoken.entity;


import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import java.util.Set;

/**
 * 登录用户身份权限
 */
@Data
@NoArgsConstructor
public class LoginUser implements Serializable {
    public static final String PC_CLIENT_TYPE = "pc";
    public static final String OTHER_CLIENT_TYPE = "other";

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户唯一标识
     */
    private String token;

    /**
     * 登录时间
     */
    private Long loginTime;

    /**
     * 过期时间
     */
    private Long expireTime;

    /**
     * 登录IP地址
     */
    private String ipaddr;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户昵称
     */
    private String realname;

    /**
     * 角色对象
     */
    private List<Object> roles;

    /**
     * 设备类型
     */
    private String deviceType;

}
